﻿using System.Web.Mvc;
using Nop.Web.Framework;
using Nop.Web.Framework.Mvc;
using System.ComponentModel;
using System.Collections.Generic;

namespace Nop.Plugin.Widgets.ExternalScripts.Models
{
    public class ConfigurationModel : BaseNopModel
    {
        public ConfigurationModel()
        {
            AvailableZones = new List<SelectListItem>();
            Details = new List<ConfigurationDetailModel>();
        }

        [NopResourceDisplayName("Admin.ContentManagement.Widgets.ChooseZone")]
        public string ZoneId { get; set; }
        public IList<SelectListItem> AvailableZones { get; set; }


        public string[] ScriptSystemNames { get; set; }

        public IList<ConfigurationDetailModel> Details { get; set; }


            public class ConfigurationDetailModel : BaseNopModel
            {

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.IsEnabled")]
                [AllowHtml]
                public bool IsEnabled { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.ScriptSystemName")]
                [AllowHtml]
                public string ScriptSystemName { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.ScriptDescription")]
                [AllowHtml]
                public string ScriptDescription { get; set; }
              
                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.DefaultScript")]
                [AllowHtml]
                public string DefaultScript { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.CheckoutCompletedScript")]
                [AllowHtml]
                public string CheckoutCompletedScript { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.CheckoutCompletedDetailScript")]
                [AllowHtml]
                public string CheckoutCompletedDetailScript { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.ProductScript")]
                [AllowHtml]
                public string ProductScript { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.CategoryScript")]
                [AllowHtml]
                public string CategoryScript { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.ProductIdsAndFreeTokens")]
                public string ProductIdsAndFreeTokens { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.CategoryIdsAndFreeTokens")]
                public string CategoryIdsAndFreeTokens { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.ContollersAndFreeTokens")]
                public string ContollersAndFreeTokens { get; set; }

                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.PaymentMethodsLabels")]
                public string PaymentMethodsLabels { get; set; }
          
                [NopResourceDisplayName("Plugins.Widgets.ExternalScripts.ShippingMethodsLabels")]
                public string ShippingMethodsLabels { get; set; }            }

     
    }
}